package com.hbt.myplus;


import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@MapperScan(basePackages = {"com.hbt.myplus"})
public class Application {

  public static void main(String[] args) {
    SpringApplication.run(Application.class);
  }

  @Bean
  public RestTemplate restTemplate(){
    RestTemplate restTemplate = new RestTemplate();
    return restTemplate;
  }


  /**
   * http重定向到https
   * @return
   */
//  @Bean
//  public TomcatServletWebServerFactory servletContainer() {
//    TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
//      @Override
//      protected void postProcessContext(Context context) {
//        SecurityConstraint constraint = new SecurityConstraint();
//        constraint.setUserConstraint("CONFIDENTIAL");
//        SecurityCollection collection = new SecurityCollection();
//        collection.addPattern("/*");
//        constraint.addCollection(collection);
//        context.addConstraint(constraint);
//      }
//    };
//    tomcat.addAdditionalTomcatConnectors(httpConnector());
//    return tomcat;
//  }
//
//  @Bean
//  public Connector httpConnector() {
//    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
//    connector.setScheme("http");
//    //Connector监听的http的端口号
//    connector.setPort(8086);
//    connector.setSecure(false);
//    //监听到http的端口号后转向到的https的端口号
//    connector.setRedirectPort(443);
//    return connector;
//  }

}
